home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 13
/
CU Amiga Magazine's Super CD-ROM 13 (1997)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1997-08].iso
/
StormC_demo
/
StormC Install-Script
< prev
next >
Wrap
Text File
|
1997-01-07
|
13KB
|
471 lines
; $VER: StormC V2. Install Version 1.07 (07.1.97)
; Installations-Script - na, wofür wohl?
; (c) 1997 HAAGE & PARTNER Computer GmbH
(complete 0)
; Die Versionsnummer und das Erstellungs-Datum der hier installierten
; Versionen.
(set stcpp-version "2.0")
(set stcpp-date "(7 Dez 96)")
;====================================================================
; Initialisierungen
(set @default-dest "")
(set os-version (/ (getversion) 65536))
(set os-13 (< os-version 36))
(set os-20 (>= os-version 36))
(set os-21 (>= os-version 38))
(set totalmem (database "total-mem")) ; Diese schöne Funktion vereinfacht einiges
; Die Pfadnamen der Programme, die vom Installations-Skript aufgerufen werden.
; Die Pfadnamen der einzelnen Quell-Dateien.
(set #binsource (tackon (pathonly @icon) "StormSYS")) ; Hier stehen die Ausführbaren Programme
(set #includesource (tackon (pathonly @icon) "INCLUDE")) ; Hier stehen die Includes
(set #envsource (tackon (pathonly @icon) "ENV")) ; Die Voreinstellungen
(set #libsource (tackon (pathonly @icon) "LIB")) ; Hier stehen die Bibliotheken
(set #wizlib (tackon (pathonly @icon) "LIBS/Wizard.library")); Hier steht die Bibliohtek
(set #samplesource (tackon (pathonly @icon) "Examples")) ; Hier stehen die Demo-Sourcen
(set #manualsource (tackon (pathonly @icon) "MANUAL")) ; Hier steht die Dokumentation
(set #toolssource (tackon (pathonly @icon) "TOOLS")) ; Hier stehen die Tools
(set #rexxsource (tackon (pathonly @icon) "Rexx")) ; Die neuen Makescripts
;(set #flibsource (tackon (pathonly @icon) "Fast-Ansi-Lib")) ; Hier steht die neue Ansi-lib
;(set #muilibsource (tackon (pathonly @icon) "Mui-Class-Lib")) ; Hier steht die Mui Klassen-Library
(set source-Liesmich (tackon (pathonly @icon) "Liesmich")) ; Die Liesmich Datei
(set source-readme (tackon (pathonly @icon) "Readme")) ; Die Liesmich Datei
(set source-italreadme (tackon (pathonly @icon) "Leggimi")) ; Die Liesmich Datei
(set source-ikon (tackon (pathonly @icon) "StormCPP.info")) ; Das Programm-Piktogramm
(set #prp-copy-samples
"Kopiere die C und C++ Beispielprogramme")
(set #hlp-copy-bin
"Anhand des Handbuches und der Beispiele können Sie sich sehr schnell in StormC einarbeiten")
(set #prp-copy-env
"Kopiere die StormC Default-Piktogramme")
(set #hlp-copy-env
"Die Piktogramme werden von der Projektverwaltung und vom Editor benötigt")
(set #prp-copy-includes
"Kopiere die C++ Systemincludes")
(set #hlp-copy-includes
"Die Includes werden vom Compiler-Preprozessor benötigt")
(set #prp-copy-libs
"Kopiere die Linker-Bibliotheken")
(set #hlp-copy-libs
"Die Bibliotheken werden vom Linker benötigt")
(set #prp-copy-manual
"Kopiere die Dokumentation")
(set #hlp-copy-manual
"Eine Amiga-Guide-Datei zu StormC")
(set #prp-copy-bin
"Kopiere die Ausführbaren Dateien des Compilersystems")
(set #hlp-copy-bin
"Bei der allerersten Installation sollten Sie auch alle Dateien kopieren")
(set #prp-copy-tools
"Kopiere die Screen-Tools")
(set #hlp-copy-tools
"Der Pubscreen-Manager zu StormC")
(set #prp-copy-wizlib
"Kopiere die Wizard.Library")
(set #hlp-copy-wizlib
"Sie ist für die sehr kurzen Programme verantwortlich!")
(set #prp-copy-fastlib
"Kopieren die FAST-ANSI-Library")
(set #hlp-copy-fastlib
"Mit ihr können sehr kurze ANSI-C Programme erzeugt werden")
(set #prp-copy-muilib
"Kopiere die Mui Klassen-Bibliothek")
(set #hlp-copy-muilib
"Die Bibliothek ermöglicht die Programmierung von MUI in C++")
(set #prp-copy-rexxscripts
"Kopiere die neuen Makescripts in disch Schublade Rexx")
(set #hlp-copy-rexxscripts (cat "\n"
"Die Rexxscripts ermöglichen eine einfache Erweiterung\n"
"des Leistungsspektrums der Projektverwaltung"))
; Die Dateigrößen
(set size-stormcpp 24000)
(set size-stormc 437000)
(set size-stormed 210000)
(set size-stormshell 340000)
(set size-stormrun 220000)
(set size-stormasm 36000)
(set size-stormpics 50000)
(set size-stormlex 100000)
(set size-libs 520000)
(set size-inlcudes 270000)
(set size-demos 70000)
(set size-komplett ( + size-stormrun size-stormasm size-stormcpp size-stormc size-stormed size-stormshell size-stormpics size-stormlex size-libs size-inlcudes size-demos))
; ----------------------------- Prozeduren ------------------------------
(Procedure Make_Folder
(
(set folder (tackon folder "StormC"))
(if (= (exists folder) 0)
(
(makedir folder (infos))
)
))
)
;=====================================================================================
; Beginn der Installation
;=====================================================================================
; Eine kleine Einleitung, gefolgt vom Startbild des Installers.
(set act-user-level @user-level)
(user 1)
(message (cat "\nWillkommen bei der Installation der \n\n\"StormC-Demoversion "
stcpp-version " vom "stcpp-date "\"!\n\n"
"Dieses Skript kopiert die verschiedenen Dateien, "
"aus denen sich das Compilersystem zusammensetzt, "
"auf Ihre Festplatte.\n\n"
"© 1997 HAAGE&PARTNER Computer GmbH"))
(user act-user-level)
(welcome)
(complete 5)
(set act-user-level @user-level)
(user 1)
; Alte Version prüfen und entsprechende Warnung ausgeben! **************************************************************
(set folder "WORK:StormC")
(if (exists "StormC:" (noreq))
(
(message (cat "\nAuf Ihrer Festplatte befindet sich bereits eine\n"
"Installation von StormC! Wählen Sie bitte die über-\n"
"geordnete Schublade oder das jeweilige Laufwerk an,\n"
"wenn Sie ihr altes System aktualisieren möchten!"))
(set folder (getassign "STORMC"))
)
)
(set cmpstr (getassign "STORMC"))
(user act-user-level)
(if (= @user-level 0)
(
(user 1)
(message (cat "Im Einsteiger-Modus wird davon ausgegangen, daß Storm C auf "
"einer Festplatte installiert wird, auf der noch mindestens "
"ca. 6 MByte freier Speicherplatz verfügbar sind. Sie werden "
"dazu im nächsten Fenster nach dem Namen der gewünschten "
"Schublade gefragt.\n\n"
"Alle weiteren Angaben werden dann vom Installations-Skript "
"möglichst genau an Ihr System angepaßt."))))
(set ok 0)
(while (not ok)
(set folder
(askdir
(prompt (cat "\n"
"Auswahl des Pfades für die Compiler-Installation.\n"
"Eine Schublade mit dem Namen StormC wird automatisch erzeugt!"))
(help (cat " Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
"eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
"dieser Übersicht sollten Sie nur die oberen, nicht farblich "
"gekennzeichneten Einträge auswählen.\n"
" Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
"nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
"\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
"\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"
"\n\n"
"Storm C kann nur in eine Schublade nicht aber auf eine "
"Partition direkt installiert werden! Wenn Sie also nur ein Laufwerk "
"für die Installation auswählen, wird Ihnen eine Fehlermeldung angezeigt!\n\n"
@askdir-help))
(default folder)
(disk)
)
)
(Make_Folder) ; // Automatisch neues Verzeichnis anlegen!
; Ist der Dateiname leer oder endet mit einem ':' oder existiert unter
; diesem Namen kein Verzeichnis, wird eine Fehlermeldung angezeigt; andernfalls
; kann die Auswahl-Schleife beendet werden.
(if (or (or (or (<= (strlen folder) 0) (= (substr folder (- (strlen folder) 1) 1) ":")) (= (exists folder (noreq)) 0)) (= (getdiskspace folder) -1))
(message (cat "\nBei Ihrer Auswahl \"" folder "\" handelt es sich nicht um "
"eine gültige Schublade!\n\n"
"Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
"eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
"dieser Übersicht sollten Sie nur die oberen, nicht farblich "
"gekennzeichneten Einträge auswählen.\n"
"Über den Schalter \"Neue Schublade anlegen...\" können Sie ein neue "
"Schublade erzeugen. Diese neue Schublade\nwird auf der Partition "
"angelegt, die Sie soeben betrachten."))
;else
(
(set freediskspace (getdiskspace folder)) ; Der freie Speicher auf diesem Medium
(if (< freediskspace size-komplett)
(
(user 1)
(message (cat "\nAuf der ausgewählten Festplattenpartition "
"steht nicht genügend freier Speicher für die "
"komplette Installation des Compilersystems zur Verfügung.\n\n"
"Freier Speicher " freediskspace "!\n"
"Benötigter Speicher " size-komplett "!\n\n"
"Bitte wählen Sie eine andere Partition, auf "
"der entsprechende Kapazitäten vorhanden sind!"))
)
;else
(set ok 1)
)
)
)
)
(makeassign "STORMC")
(user act-user-level)
(set @default-dest folder) ; Die Zuweisung ist sehr wichtig!
(set destbin (tackon folder "StormSYS"))
(if ; Compiler-Verzeichnis erzeugen
(= (exists destbin) 0)
(makedir destbin (infos))
)
(set destdemo (tackon folder "Examples"))
(if ; Demo-Verzeichnis erzeugen
(= (exists destdemo) 0)
(makedir destdemo (infos))
)
(set destinclude (tackon folder "Include"))
(if ; Includes-Verzeichnis erzeugen
(= (exists destinclude) 0)
(makedir destinclude)
)
(set destlib (tackon folder "Lib"))
(if ; Libraries-Verzeichnis erzeugen
(= (exists destlib) 0)
(makedir destlib)
)
(set destmanual (tackon folder "Manual"))
(if ; Dokumentations-Verzeichnis erzeugen
(= (exists destmanual) 0)
(makedir destmanual (infos))
)
(set desttools (tackon folder "Tools"))
(if ; Tools-Verzeichnis erzeugen
(= (exists desttools) 0)
(makedir desttools (infos))
)
(set rexxscripts (tackon folder "Rexx"))
(if ;Rexx-Verzeichnis erzeugen
(= (exists rexxscripts) 0)
(makedir rexxscripts)
)
(complete 5)
; Liesmich Datei auf Festplatte kopieren!
(copyfiles
(source source-Liesmich)
(dest folder)
(infos)
)
(copyfiles
(source source-readme)
(dest folder)
(infos)
)
(copyfiles
(source source-italreadme)
(dest folder)
(infos)
)
(complete 8)
(set morerunpath "run C/More Liesmich")
(run morerunpath) ; Liesmich laden
(complete 10)
(set destinfo (tackon folder "StormCPP.info"))
(if ; Projekt-Ikon erzeugen
(= (exists destinfo) 0)
(copyfiles
(source source-ikon)
(dest folder)
)
)
(complete 15)
(copyfiles ; Beispiele kopieren
(prompt #prp-copy-samples)
(help #hlp-copy-samples)
(source #samplesource)
(dest destdemo)
(all)
(confirm)
)
(complete 20)
(copyfiles ; Settings kopieren
(prompt #prp-copy-env)
(help #hlp-copy-env)
(source #envsource)
(dest "ENVARC:")
(all)
(confirm)
)
(complete 22)
(copyfiles ; Settings kopieren
(prompt #prp-copy-env)
(help #hlp-copy-env)
(source #envsource)
(dest "ENV:")
(all)
(confirm)
)
(complete 25)
(copyfiles ; Compiler kopieren
(prompt #prp-copy-bin)
(help #hlp-copy-bin)
(source #binsource)
(dest destbin)
(all)
(confirm)
)
(complete 40)
(copyfiles ; Includes kopieren
(prompt #prp-copy-includes)
(help #hlp-copy-includes)
(source #includesource)
(dest destinclude)
(all)
(confirm)
)
(complete 60)
(copyfiles ; Libs kopieren
(prompt #prp-copy-libs)
(help #hlp-copy-libs)
(source #libsource)
(dest destlib)
(all)
(confirm)
)
(complete 80)
(copyfiles ; Manual kopieren
(prompt #prp-copy-manual)
(help #hlp-copy-manual)
(source #manualsource)
(dest destmanual)
(all)
(confirm)
)
(complete 90)
(copyfiles ; Tools kopieren
(prompt #prp-copy-tools)
(help #hlp-copy-tools)
(source #toolssource)
(dest desttools)
(all)
(confirm)
)
(complete 91)
(copyfiles ; Rexx-Scripts kopieren
(prompt #prp-copy-rexxscripts)
(help #hlp-copy-rexxscripts)
(source #rexxsource)
(dest rexxscripts)
(all)
(confirm)
)
(complete 93)
(copylib ; Wizard.library kopieren
(prompt #prp-copy-wizlib)
(help #hlp-copy-wizlib)
(source #wizlib)
(dest "LIBS:")
(confirm)
)
(complete 96)
; ------- STARTUP ÄNDERN
(set command1 (cat "ASSIGN STORMC: " folder ""))
(set command1.txt
(cat
"\n\n\nUm mit StromC richtig arbeiten zu "
"können muß eine Änderung an der User-Startup vorgenommen werden.\n\n"
command1
)
)
(startup "StormC"
(prompt command1.txt)
(help #help-startup)
(command command1)
)
(makeassign "STORMC")
(makeassign "STORMC" folder)
(complete 100)
; ------- FERTIG
(message (cat
"\nInstallation des StormC Demo Compilers beendet.\n"
"Falls die Zeilen:\n" command1 "\nnicht in Ihre Startup-Sequence bzw. "
"User-Startup eingefügt wurde, dann holen Sie dies bitte nach.\n\n"
"\n\nWir wünschen ihnen viel Erfolg bei der Lösung Ihrer Programmieraufgaben!")
)